package com.mercury.ec.framework.air.core.client.dto.search.xsfsi;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.ToString;

import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import java.util.List;

/**
 * XSFSI Request DTO
 *
 * @author hesx
 */
@Schema(description = "管理后台 - XSFSI Request DTO")
@Data
@ToString(callSuper = true)
public class AirXsfsiReqDTO {

    @Schema(description = "office号，不传取默认office号", example = "1024")
    private String officeNo;

    @Schema(description = "订座编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "XSF222")
    @NotBlank(message = "订座编码不能为空")
    private String pnr;

    @Schema(description = "承运航司代码", requiredMode = Schema.RequiredMode.REQUIRED, example = "MU")
    @NotBlank(message = "承运航司代码不能为空")
    private String carrierAirlineNo;

    @Schema(description = "乘客类型 字典（system_passenger_type 1-成人/2-儿童/3-婴儿）", example = "2")
    private Integer passengerType;

    @Valid
    @Schema(description = "航段信息", requiredMode = Schema.RequiredMode.REQUIRED, example = "[]")
    @NotEmpty(message = "航段信息不能为空")
    private List<AirXsfsiRouteReqDTO> routes;
}
